/*
//Referencing app variable value in JavaScript variable in Custom HTML control
//Get value from 'appVar1' app variable and set it to 'internalValue'. 'internalValue' will be assigned to 0 if getVariable returns a false value
//Since 'getVariable' is an asynchronous function, we need to use 'await' and implement it inside an 'async' function
async function getValue() {
  let internalValue = await App.getVariable('appVar1') || 0;
}

//Setting JavaScript variable value to app variable value
//Pass selectedLabel value to 'appVar2' app variable
const selectedLabel = 'My Label';
App.setVariable('appVar2', selectedLabel);

//Listen to changes of 'appVar3' app variable and assign to Javascript variable 'updatedValue'
let updatedValue;
App.onVariableChange('appVar3', value => {
  updatedValue = value;
});
*/
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="82948be0-e495-5468-bf15-20857d1ae5bd")}catch(e){}}();
//# debugId=82948be0-e495-5468-bf15-20857d1ae5bd

